草庐IT

objective-c - GCD 和异步 NSURLConnection

全部标签

c# - 异步任务与异步无效

这可能是一个非常愚蠢的问题,但我有以下代码行可以将RAW图像转换为BitmapImages:publicasyncvoidCreateImageThumbnails(stringimagePath,intimgId){awaitTask.Run(()=>controlCollection.Where(x=>x.ImageId==imgId).FirstOrDefault().ImageSource=ThumbnailCreator.CreateThumbnail(imagePath));}调用此方法CreateThumbnail()publicstaticBitmapImageCrea

c# - 未实现/支持/无效操作异步方法

将异步方法标记为未实现/不支持或无效操作的正确方法是什么。为简单起见,我将在示例中仅使用NotImplementedException,但该问题也适用于NotSupportedException和InvalidOperationException。以一种同步的方式,一个人会简单地抛出异常:publicoverridevoidX(){thrownewNotImplementedException();}在异步世界中这段代码相当于什么?/*1*/publicoverrideTaskXAsync(){thrownewNotImplementedException();}或者/*2*/publ

c# - 单元测试异步操作

我想对一个执行异步操作的方法进行单元测试:Task.Factory.StartNew(()=>{//methodtotestandreturnvaluevarresult=LongRunningOperation();});我在我的单元测试(用c#编写)中stub了必要的方法等,但问题是在我断言测试之前异步操作没有完成。我该如何解决这个问题?我应该创建TaskFactory的模拟或任何其他技巧来对异步操作进行单元测试吗? 最佳答案 您必须有某种方法来伪造任务创建。如果您将Task.Factory.StartNew调用移动到某个依赖项

c# - 如何在 EF6 异步中启动实体存储过程而不等待返回?

我只想将调用发送到SQLServer,而不是等待返回。我有一个从存储过程导入的实体函数,我想在EntityFramework6.0.0-rc1中以这种方式异步调用它。这可能吗?语法是什么?EntityFunction:RecalculateBudgetNumbers(intid) 最佳答案 启动一个新的Task,创建一个新的数据上下文并调用该函数。只是不要等待/等待该任务。让它自己运行直到完成。确保记录错误。不要吞下异常,因为它们可能是您想了解的错误。在ASP.NET设置中,请注意工作进程可以随时回收,因此您的后台工作可能会突然消失

c# - 值类型继承自 System.Object...为什么?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:Iseverythingin.NETanobject?HowdoValueTypesderivefromObject(ReferenceType)andstillbeValueTypes?你好,我就是不明白。System.Object是(我认为)引用类型,但.NET中的所有数据类型都继承自它。值类型也是如此。我不明白-值类型在堆栈上有它的值,但它是从Object继承的?希望任何人都可以帮助我理解

c# - .NET 的 WebBrowser 类的异步/等待实现

老读者,第一次张贴在这里。我的目标:能够在使用WebBrowser类时利用async/await。由于WebBrowser.Navigate(stringurl)是一种异步方法,在触发LoadComplete事件之前您无法检查html文档。到目前为止,这是我的(工作)代码:publicclassAsyncWebBrowser{protectedWebBrowserm_WebBrowser;privateManualResetEventm_MRE=newManualResetEvent(false);publicvoidSetBrowser(WebBrowserbrowser){this

c# - 在异步任务中使用 HttpContext

我有以下mvc操作。publicasyncTaskDoSomeLongRunningOperation(){returnawaitTask.Run(()=>{//Doalotoflongrunningstuff//TheunderlyingframeworkusestheHttpContext.Current.User.Identity.Namesotheuserispassedonthemessagebus.}}在任务中,HttpContext变为空。我们做了很多欺骗,但没有任何东西可以确保HttpContext在我们的新线程中始终可用。是否有在异步任务中使用HttpContext的

c# - C#中SQL Server存储过程的异步调用

是否可以通过C#异步调用SQLServer存储过程?我有一个写入特定数据库备份的存储过程(这可能需要很长时间才能完成),我想在Windows窗体中显示备份过程的进度(为此我使用http://www.wisesoft.co.uk/articles/tsql_backup_restore_progress.aspx).或者我应该使用Backgroundworker控件并在后台作业(自己的线程)中运行SP? 最佳答案 在您的SqlCommand中,您可以使用BeginExecuteNonQuery和EndExecuteNonQuery异步

c# - 在非异步方法中使用异步

假设我只想在async中运行一个方法。所以我有一个async方法,如下所示:publicasyncTaskLoad(){Tasktask1=GetAsync(1);Tasktask2=GetAsync(2);Tasktask3=GetAsync(3);vardata1=awaittask1;//然后我试图在另一个方法中调用那个async方法作为一个任务,并希望它等到那段特定的async代码是完毕。问题是它不是。当它到达Load()中的第一个await时,它只是没有完成加载。调试器变为空白并且没有给出其他错误。是否可以从非async方法调用async方法,就像这样?我不需要此特定任务是a

c# - 如何处理调用了异步方法的对象?

我有这个实现了IDisposable的对象PreloadClient,我想处理它,但是在异步方法完成它们的调用之后...这并没有发生privatevoidPreload(SlideHandlerslide){using(PreloadClientclient=newPreloadClient()){client.PreloadCompleted+=client_PreloadCompleted;client.Preload(slide);}//Hereclientisdisposedimmediately}privatevoidclient_PreloadCompleted(objec